/**
 *
 */
package jp.seraph.jsade.perceptor;

import org.apache.commons.math.geometry.Vector3D;

import jp.seraph.jsade.math.Point3D;
import jp.seraph.jsade.model.DefaultForceResistance;
import jp.seraph.jsade.model.ForceResistance;

/**
 * 外部からの力を表すパーセプタ。
 * まだよく分からん
 *
 */
public class ForceResistancePerceptor implements Perceptor {
    public ForceResistancePerceptor(String aName, Point3D aPoint, Vector3D aForce){
        mName = aName;
        mForceResistance = new DefaultForceResistance(aPoint, aForce);
    }

    private String mName;
    private ForceResistance mForceResistance;

    /**
     *
     * @see jp.seraph.jsade.perceptor.Perceptor#accept(jp.seraph.jsade.perceptor.PerceptorVisitor)
     */
    
    public void accept(PerceptorVisitor aVisitor) {
        aVisitor.visit(this);
    }

    public String getName(){
        return mName;
    }

    public Point3D getPoint(){
        return mForceResistance.getPoint();
    }

    public Vector3D getForce(){
        return mForceResistance.getForce();
    }

    public ForceResistance getForceResistance(){
        return mForceResistance;
    }
}
